Welcome to this site about DemoApp 2000 which aims to help you to get started with DemoApp 2000. It will mostly cover the client side of DemoApp 2000

1.History of DemoApp 2000

The demoApp 2000 project started in march 2000 and was headed by Ulf Markström at UAB. The aim was to make a more HLR-like traffic generator with new features to help designers, system testers and the customers to test TelORB in a better way.

The designers of this "state of the art" tool are Niclas Blomgren at UAB/F/DU and Keyhan Hadjari at UAB/F/DV. This program was the first assignment for these two and after several months and a lot of new experiences the first release was ready for test at the deadline 27/7 2000.

2.Serverside

2.1 Diagram

DemoApp 2000 is of course build upon a complex set of processes, dialogues and database objects(POTs). Here is a list of the processes:

Beside these 5 Processes, there are 2 different Database objects(POTs) in DemoApp 2000 described below:

  1. Subscriber POT: is the Database object on which the traffic is going on. It is keyed and as an attribute it has an array of undefined size(the size is given whhe populating) and an unkeyed POT(used in CREATE/DELETE operation).It is called simply Subscriber. Its pool is De2SubPool.

  2. Coordinator POT: In this POT information about Populated ranges and special flags are stored. It is called De2CoPot. Its pool is De2CoPool.

A very good diagram for DemoApp 2000 is drawn by Antonio Nazzaro att UAB/F/DR. Antonio is also making a special course with DemoApp 2000.

2.2 Setting up the serverside of DemoApp 2000

Most of the text here takes up how to configure and startup the client side of the DemoApp2000, but here is a bit of info of how to setup the serverside of the new DemoApp. Here are the steps:

  1. Source R13: source /ipims_dicos/ipims_dicos10/dists/TelORB-R13/setup.csh

  2. Source tbTest1.1: source /ipims_dicos/BS2/tbTest1.1/IP_CONF_INFO/EnvSettings

  3. run epct on the desired target. The epct file can look like this. Observe the pools and the different constants set in the epct file:
    epct -d axe -F -v Demo2.epct

  4. run DemoApp2000 by entering eprun in Vega or reloading the processors in a real TelORB system.

2.3 Autostarting DemoApp 2000 without clientside

It is even possible to autostart DemoApp 2000 without starting the TelorbManager. This is done by giving an extra epct file which includes environment data as a parameter to epct command.example:
epct -d axe -F -v +c environment.epct Demo2System.epct

this command results in that the environment data is read from environment.epct and then given to the system. After that system has got the data and when it is checked OK It will populate and run on the specified data. The parameters given by environment to the system are:

  1. demo.op1="34" meaning that 34% of the traffic is by op1 or Update (required)

  2. demo.op2="33" meaning that 33% of the traffic is by op2 or Read (required)

  3. demo.op3="33" meaning that 33% of the traffic is by op3 or Create/Delete (required)

  4. demo.op4="0" meaning that 0% of the traffic is by op4 (required)

  5. demo.ttp = "0" meaning that the print interval is set to 0 (optional Default=0)

  6. demo.oSize = "4,7" meaning that object size of the ranges are 4 respective 7 bytes (required)

  7. demo.trace="1" meaning that the trace option is chosen (optional, default=0)

  8. demo.tRate="25" meaning that the traffic rate is 25 calls/sec (required)

  9. demo.lControl="0" meaning if load control is wanted or not (optional, default=0)

  10. demo.sRange="0,1000" meaning start of the first range is 0 and start of the second range is 1000 (required)

  11. demo.sRange="999,20000" meaning end of the first range is 999 and end of the second range is 20000 (required)

After that system has gone through all these parameters and found that they are set correctly, it will start to populate and run traffic on the system according to the parameters. Of course one can start the TelorbManager afterwards and change the settings.
Now lets look at the client side.

3. Clientside of DemoApp 2000

Before Starting the client-side of the DemoApp2000 you need of course to load DemoApp 2000 at a Telorb Station or by Vega. Server-side DemoApp 200 is included in tbTest1.1 in /ipims_dicos/BS2/

For starting the client side of DemoApp 2000 The program called TelORBManager done by Chris Smith at UAB/F/DU, is needed. The program can be run from /home/dicoshack/Hack/tools/TelORBManager1.0. You just need to type ./TelORBManager& for Solaris. I have even got the TelORBManager working on Windows 2000 and Linux, mail me(look at the bottom of the page) for further info about that.After running TelorbManager and giving the correct IP number you see this window

As you can see on the lower side of the picture that DemoApp 2000 is chosen on the slide menu and the show button is then must be pushed for the DemoApp 2000 to be shown. If DemoApp2000 is not shown, it is because the DemoApp2000 is not running on the given host.

3.1What is what???

After pushing show this is what you should see if everything works as it should

To better understand what is what on the DemoApp2000 I have divided this section to different parts

3.1.1 Database Operations

The Update, Read, Create/Delete and OP4 Labels and the textfields next to them are for choosing the type of the traffic wanted. If just the update operation is wanted, then the textfield next to it should say 100 meaning 100% of the traffic is update. PS The operation OP4 is still not implemented.

3.1.2 Intensity

The intensity of the traffic is set of course by filling the intensity field

3.1.3 Load Control

The load control checkbox lets the user to choose if TelORB control over traffic is wanted or not, if it is then TelORB will decide if a given database operation will be done depending on the processor load.

3.1.4 Print interval

This field allows us to choose the time interval for printouts from the TelORB, but if the interval is set to 0 then the printouts will appear after every 1000 calls.

3.1.5 Size of Objects

In this field the size of subscribers created is set.

3.1.6 Type of Trace

With this sliding menu you can choose if you want to trace different operations. The only operation that can be traced so far is pop/depop of subscribers.

3.1.7 Ranging from and Ranging To

These two fields are important as the population/depopulation range or the range which the traffic is running on are entered in them.

3.1.8 Populate

Populate lets the user create subscribers, the parameters sent to the host from the client are the followings:

  1. Ranging From: shows where the range is started.

  2. Ranging To: shows where the range ends.

  3. Size of Objects: Size of the subscribers being created.

  4. Type of Trace: if the Populating should be traced.

3.1.9 Depopulate

Depopulate is for removing all or some of subscribers, the parameters sent to the host by Depopulate are:

  1. Ranging From: shows where the range is started.

  2. Ranging To: shows where the range ends.

  3. Type of Trace: if the Depopulating should be traced.

3.1.10 Range Settings

When this button is pushed then a window with information about populated ranges is shown, and if the windows is already shown then it will be updated. If there exist is no ranges then the message no ranges will be in that window. An example of that window is shown here below.

3.1.11 Run

Run button starts the C++ traffic and has all of the upper side of the window except trace and Size of object as its parameters.

3.1.12 Stop

Stops the C++ traffic.

3.1.13 Check Statistics

sums the traffic from all of the generators and returns its statistics from one window.

3.1.14 JRun

Works as Run button but instead starts the Java traffic in the specified Range.

3.1.15 JStop

Stops the Java traffic.

3.1.16 Hide this window

If you do not understand the meaning of this button then please don't touch it.

3.1.17 Enable/Disable NPR

Before you start populating or depop check/change the system from/to Netshared Partition Redundancy(NPR). After pushing you either get this message.

or you get this message:

If you have already populated you must depopulate to be able to change from/to NPR

3.1.18 Configuring NPR

To Configure and run NPR you need to have the netshared flag when starting the TelorbManager. The TelORB Guidelines is a good reference for how to setup and configure NPR. However there are 2 important things to think of

  1. Since the new DemoApp comes with the Populating feature, the way of populating/depopulating the ranges would be in the netshared mode in both zones. It means that If you want to have 10 000 subscribers from 1 to 10 000 then you should populate 1-10 000 in both zone 1 and zone2. What really happens is that zone 1 populates all the subscribers with odd number and zone 2 will populate all subscribers with even number. Same thing when you are depopulating.When using NPR do not populate before you have finished configuring NPR and then you must be in the Netshared mode

  2. Instead of "class ID: 524600, Low DU: 0, High DU: 99" put "class ID:524308, Low DU:0, High DU:999". This is because the ID of the subscriber pot in DemoApp2000 is different from the ID in DemoApp and the distribution limit is set to 1000 in DemoApp2000 instead of 100 in demoapp.

3.1.19 Load Ranges

With this function you can instead of putting a long time to populate a complex range by pushing the populate button and changing several textfields just load a population file. A file can look like this. After pushing the button a Filechooser like below opens and lets you choose your file. This function is relatively new and not tested so much.


Keyhan Hadjari